#include <iostream>
#include <cstdio>
#include <string>
#include <vector>
#include <queue>
#include <algorithm>

using namespace std;

struct st
{
	int x,y,z;
	st(int t1=0,int t2=0,int t3=0)
	{
		x=t1,y=t2,z=t3;
	}
};

char map[12][12][12];
int dir[6][3]={{0,0,1},{0,0,-1},{0,1,0},{0,-1,0},{1,0,0},{-1,0,0}};
bool done[12][12][12];
int main()
{
	int k,n,m;
	while(cin>>k>>n>>m)
	{
		fill(done[0][0],done[0][0]+12*12*12,false);
		fill(map[0][0],map[0][0]+12*12*12,0);
		for(int i=1;i<=k;i++)
		{
			for(int j=1;j<=n;j++)
			{
					scanf("%s",map[i][j]+1);
			}
		}
		int x,y,z;
		cin>>x>>y;
		queue<st> q;
		q.push(st(1,x,y));
		done[1][x][y]=true;
		int cnt=0;
		st t;
		while(!q.empty())
		{
			cnt++;
			t=q.front(),q.pop();
			for(int i=0;i<6;i++)
			{
				x=t.x+dir[i][0],y=t.y+dir[i][1],z=t.z+dir[i][2];
				if(!done[x][y][z]&&map[x][y][z]=='.')
					q.push(st(x,y,z)),done[x][y][z]=true;
			}
		}
		cout<<cnt<<endl;
	}
	return 0;
}
